/**
 * @title: ConnectionFactoryConfiguration
 * @projectName mscloud
 * @Description TODO
 * @Author
 * @Date 2022/2/21 15:26
 */
package com.atguigu.springcloud.cloudsentinelgatewaydevelop.config;

import dev.miku.r2dbc.mysql.MySqlConnectionConfiguration;
import dev.miku.r2dbc.mysql.MySqlConnectionFactory;
import io.r2dbc.pool.ConnectionPool;
import io.r2dbc.pool.ConnectionPoolConfiguration;
import io.r2dbc.spi.ConnectionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories;

import java.time.Duration;
import java.time.ZoneId;

@EnableR2dbcRepositories
@Configuration
public class ConnectionFactoryConfiguration {


//    @Bean
//    public ConnectionFactory connectionFactory() {
//        ConnectionFactory connectionFactory =
//                MySqlConnectionFactory.from(MySqlConnectionConfiguration.builder()
//                                        .host("127.0.0.1")         // 主机地址
//                                        .port(3306)                // 端口
//                                        .username("root")          // 用户名
//                                        //.password("2605339")        // 密码
//                                        .password("root")        // 密码
//                                        //.database("db2019")  // 连接的数据库名称
//                                        .database("db2021")
//                                        .serverZoneId(ZoneId.systemDefault())// 连接的数据库名称
//                                        .build());
//                /*ConnectionFactories.get(
//                builder()
//                    .option(DRIVER, "mysql")
//                    .option(HOST, "127.0.0.1")
//                    .option(PORT, 3306)
//                    .option(USER, "root")
//                    .option(PASSWORD, "root")
//                    .option(DATABASE, "db2021")
//                    .option(CONNECT_TIMEOUT, Duration.ofSeconds(3))
//                    .build()
//        );*/
//        // 创建数据库连接池
//        ConnectionPoolConfiguration build = ConnectionPoolConfiguration.builder(connectionFactory)
//                .maxIdleTime(Duration.ofMillis(1000))
//                .initialSize(5)
//                .maxSize(10)
//                .build();
//        return new ConnectionPool(build);
//    }

   /* @Bean
    public ConnectionFactory connectionFactory() {
        return MySqlConnectionFactory.from(MySqlConnectionConfiguration.builder()
                .host("127.0.0.1")         // 主机地址
                .port(3306)                // 端口
                .username("root")          // 用户名
                //.password("2605339")        // 密码
                .password("root")        // 密码
                //.database("db2019")  // 连接的数据库名称
                .database("db2021")
                .serverZoneId(ZoneId.systemDefault())// 连接的数据库名称
                .build());
    }*/
}

